Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

444 verify git link #452

Merged
merged 14 commits into from
Feb 19, 2024
Merged

444 verify git link #452

merged 14 commits into from
Feb 19, 2024

Conversation

MarinaProsche
Copy link
Collaborator

Первый вариант проверки слайдов на корректность репозиториев.

Реализованы:

в слайде "Апробация"
Поиск репозиториев github, gitlab, bitbucket.
Поиск некорректных выражений вместо ссылок, например "(github)" или "gitlab"
Отсутствие ссылок при упоминании репозитория .

Во всем проекте:
Репозитории "github" проверяются на существование, пустоту (парсингом), и на приватность.
Репозитории "gitlab" проверяются на существование и приватность.
Репозитории "bitbucket" проверяются на существование, из проверки на приватность исключены, поскольку недоступны в России.

Сейчас для проверки репозитория "gitlab" использован личный токен, нужна консультация, как подкорректировать.
Для более четкой проверки всех репозиториев на пустоту было решено использовать отдельную проверку.

app/main/checks/presentation_checks/verify_git_link.py Outdated Show resolved Hide resolved

def __init__(self, file_info):
super().__init__(file_info)
self.check_aprb = FindDefSld(file_info=file_info, key_slide="Апробация")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Создайте задачу на сохранение "важных" слайдов в структуре проверяемого файла (чтобы например после проверки FindDefSld в объекте появился соответствующий слайд / ссылка на него, чтобы в дальнейшем можно было его переиспользовать, если такое возможно)

Copy link
Collaborator

@HadronCollider HadronCollider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Обновите согласно новой идее - #444 (comment)

found_repo = re.findall(self.pattern_for_repo, string_from_text)

if not found_repo:
return answer(True, 'Нечего проверять!')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А почему тут True?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На данный момент проверка сделана таким образом, что отсутствие ссылок на репозитории не является недочетом. Оценивается только их корректность (если они есть).
Уточните, пожалуйста, является ли наличие ссылок на репозитории необходимым условием для прохождения именно этой проверки?

self.deep_check_repo(i, link)
except (requests.exceptions.SSLError, requests.exceptions.ConnectionError):
self.wrong_repo_ref.append(i[0])
if self.wrong_repo_ref and not self.empty_repo_ref:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

С этим каскадом условий сразу два момента:

  • можно попробовать улучшить читаемость, сделав на wrong_repo_ref и empty_repo_ref проверки раздельно (например, есть пустые? хорошо, просто плюсуем к результирующей строке, что такие есть)
  • в 49-54 строках есть условия на Апробоцию: получается так, что результат проверки Апробации вообще никак не сказывается на выходе, если этот каскад проходит в else (попробуйте прогнать презентацию без ссылок и выведет, что все ок)

Кажется, что в обоих случаях будет полезно отлавливать, что результат будет false. Возможно инициализация check_result = True в начале поможет с этим, но может придет в голову что-то другое

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Новый вариант:
fd9dab0
Улучшила читаемость
Поправила ошибку, из-за которой файл "Апробация" не обнаруживался.

@HadronCollider HadronCollider merged commit f9d3640 into master Feb 19, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants